home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 8 / FM Towns Free Software Collection 8.iso / t_os / otohime / src / lib / strns.asm < prev    next >
Assembly Source File  |  1994-06-01  |  838b  |  53 lines

  1. ;        SOUND DATA TRANS
  2. ;
  3. ;        call from F-BASIC386 or High C
  4. ;    callm address,varptr(source),varptr(new)
  5. ;    void  sndTransfer(*sourcesnd,*newsnd)
  6. ;
  7. ;
  8. ;            1990 3  Hiroshi TODA
  9. ;
  10. ;            1993 12 HighC用に改造
  11. ;
  12. ;
  13.  
  14.     .386p
  15.  
  16. cseg    segment    dword public use32 'CODE'
  17.     assume    cs:cseg,ds:cseg
  18.  
  19.     public    sndTransfer
  20.     db    'sndTransfer',11
  21. sndTransfer    proc    near
  22.     push    ebp
  23.     mov    ebp,esp
  24.     push    esi
  25.     push    edi
  26.     push    ebx
  27.  
  28.     cld
  29.  
  30.     mov    esi,[ebp+8]        ; esi <-- source snd. add.
  31.     mov    edi,[ebp+12]    ; edi <-- new snd. add.
  32.     xor    edx,edx            ; head trans
  33. main01:    mov    eax,[esi][edx*4]
  34.     mov    [edi][edx*4],eax
  35.     inc    edx
  36.     cmp    edx,8
  37.     jb    main01
  38.     mov    ecx,[esi+12]        ; ecx <-- data length
  39.     add    esi,32            ; add head(32Byte)
  40.     add    edi,32
  41. main02:    rep movsb
  42.     pop    ebx
  43.     pop    edi
  44.     pop    esi
  45.     mov    esp,ebp
  46.     pop    ebp
  47.     ret
  48. sndTransfer    endp
  49.  
  50. cseg    ends
  51.     end
  52.  
  53.